// 1. 定义观察者
type Observer = (data: any) => void
// 2. 定义主题
class Subject {
    private observers: Observer[] = []
    // 添加观察者
    addObserver(observer: Observer) {
        this.observers.push(observer)
    }
    // 通知所有观察者
    notify(data: any) {
        this.observers.forEach(observer => observer(data))
    }
}
// 3. 定义观察者
const observer1: Observer = data => {
    console.log('观察者1收到数据:', data)
}
const observer2: Observer = data => {
    console.log('观察者2收到数据:', data)
}
// 4. 创建主题
const subject = new Subject()
// 5. 添加观察者
subject.addObserver(observer1)
subject.addObserver(observer2)
// 6. 通知所有观察者
subject.notify('Hello')